package com.emm.yixun.system.service;
import java.util.List;

import javax.jws.WebService;

import com.emm.yixun.common.model.User;
import com.emm.yixun.common.page.Page;
import com.emm.yixun.common.response.Response;
import com.emm.yixun.common.response.ResponseList;
import com.emm.yixun.common.model.Department;
import com.emm.yixun.common.model.dto.DepartmentDto;
import com.emm.yixun.common.model.dto.DepartmentModel;
import com.emm.yixun.common.model.dto.UserModel;
@WebService
public interface DepartmentServiceFacade{
     	/**
	    *新增
	    */
		Response<DepartmentDto> save(DepartmentDto dto);
		
		/**
		*修改,当selective=true时修改非空列,当selective=false修改所有列
		*/
		Response<Integer> updateByPrimaryKey(DepartmentDto dto,Boolean selective);
		
		/**
		 *逻辑删除
		 */
		Response<Integer> deleteByPrimaryKey(Long id);
		
		/**
		 *主键查询
		 */
		Response<Department> findById(Long id);
		
		/**
		 *根据dto查询记录
		 */
		ResponseList<Department> findByDto(DepartmentDto dto);
		/**
		 *根据dto以及分页参数查询记录
		 */
		Page<Department> findPageByDto(DepartmentDto dto,Integer begin,Integer row);
		
		/**
		 *逻辑删除
		 */
		Response<Boolean> deleteByParentId(Long parentId);
		
		/**
		 *导入部门
		 */
		Response<String> departmentImport(List<DepartmentModel> list, User user);
		
		/**
		 *导入职工信息
		 */
		Response<String> userInfoImport(List<UserModel> list, Long merchantId);
}
